Workflows have commonly been used to provide a structured process for resources in a production environment. A workflow is a process that uses electronic systems to manage and monitor business processes, thus allowing the flow of work between individuals, devices and/or departments to be defined and tracked. A workflow can include the operational aspects of a work process: how tasks are structured, who or what device performs them, the relative order of various tasks, how tasks are synchronized, how information flows to support the tasks and how tasks are being tracked.
A typical workflow in a production environment assigns jobs to printing devices and orders the jobs to achieve an optimization objective, such as minimizing the total turnaround time and ensuring that no jobs are completed later than a defined time. In order to assign the job and monitor the progress of the jobs in a production environment, there is often a central server that communicates with the printing devices. For example, U.S. Pat. No. 7,016,061, the disclosure of which is incorporated herein by reference, discloses a method and system for load balancing across network printers where the entire network is monitored to determine which printer should obtain the next print job. However, this centralized system requires that the server manage the load distribution by determining when each resource is available to be assigned to another job.
As such, improved methods and systems for unmanaged load balancing of distributed work providers would be desirable.